package com.stateflow.engine.core.service;

import com.stateflow.facade.dto.OperatorDTO;
import com.stateflow.facade.dto.req.StateFlowRequestDTO;
import com.stateflow.facade.dto.StateFlowConfigDTO;
import com.stateflow.facade.dto.notify.StateFlowNotifyDTO;

import java.util.List;

/**
 * Created by weiqingming on 2019/11/28.
 * 状态流转核心
 */
public interface StateFlowCoreService {

    /**
     * 状态流转
     * @param request
     * @param config
     * @return
     */
    StateFlowNotifyDTO stateFlow(StateFlowRequestDTO request, StateFlowConfigDTO config);

    /**
     * 获取状态下操作列表
     * @param state
     * @param config
     * @return
     */
    List<OperatorDTO> listOperator(String state, StateFlowConfigDTO config);
}
